It has become an undeniable reality of the information age that the availability of computers to collect and process all manner of business data has increased the efficiency with which a business or organization can be operated. While vast quantities of raw information are available, the information must be analyzed before it can be used to support business decision-making. However, many companies do not have employees with the time, skill, sophistication, or analytical capability to analyze the available data. As a result, many businesses use a mere fraction of the data available to them. Most modern businesses could be operated more productively and more efficiently if the data that is available to such companies was analyzed to support decision-making.
As personal computers have become widely available, data analysis tools have also become more prevalent. Relatively simple tools are widely available on personal computers, including spreadsheet programs such as Excel, QuattroPro, or Lotus. Other tools include highly sophisticated custom applications, which require extensive training before they can be used productively. While personal computer spreadsheet programs are widely available at a relatively low cost, they are not suitable for large scale data analysis to support business decision-making. For example, the typical home or business spreadsheet user is not able to exploit even a tiny fraction of the processing capability of such programs. Further, most users are not capable of using the sophisticated mathematical functions, database operations, graphing capabilities or programming features available in most spreadsheets. However, effective use of a spreadsheet for data analysis may require more knowledge of such features, as well as of data analysis techniques than the typical user possesses. Moreover, a spreadsheet may be inadequate for analyzing large volumes of data.
Another class of computer applications for data analysis and presentation, which are more sophisticated than mere spreadsheets are so-called business intelligence and performance management applications. Examples of such applications include programs developed by companies such as Crystal Decisions, Business Objects, Hyperion Solutions, Brio Software, and Cognos. Such programs are enterprise applications that facilitate the collection and storage of the vast volume of data in an organization and turn it into a meaningful presentation that people can use in their day-to-day activities. For example, the application can include reporting and querying software, as well as the ability to analyze business data from multiple databases and other data sources.
A commonly available interface with such applications are so-called dashboard displays which are designed to interface with existing database programs and provide an overview of the data being reported. Such systems may include the ability to rank, sort or filter the data; to drill down to related reports or underlying data sources; to link to forecasts or projections; or to highlight data values which are outside of expected ranges. As such, the dashboard provides a convenient interface for summarizing volumes of data and for browsing and explaining the basis of the summarized data. Critically, however, even with a dashboard display, such business intelligence applications require a high degree of training and sophistication by the user. Thus, the average user is unlikely to be able to make effective use of such sophisticated applications without full time support by an expert.
Expert systems are yet another class of systems or computer applications available to assist in making decisions. An expert system is a system, or application, that attempts to encapsulate in a computer program the knowledge and reasoning or diagnostic skills of an expert and then to apply that knowledge to reason about data available to the expert system. The system may infer new facts based on the data, recommend a course of action, diagnose an illness, or other task, by using the encapsulated knowledge. Generally, expert systems are rule-based, that is they function by applying rules obtained with the assistance of an expert, to facts available to the expert system. Rules used in an expert system are generally in the form of “If-Then” rules. A rule such as “if A then B” means that if “A” is true, then the conclusion “B” may be inferred to be true, where “B” may be a fact to assert or an action to be taken. A rule in a medical diagnostic system might be “if the patient has both a fever and headache, then the patient may have the flu.” Thus, the “If-Then” rule describes a problem situation and the diagnosis or action an expert would perform in that situation.
At the heart of an expert system is a so-called “inference engine,” which is the processing portion of an expert system. With information from a knowledge base, the inference engine provides the reasoning ability that derives inferences (conclusions) on which the expert system acts. Typically, an inference engine examines each inference rule in turn to determine if the predicate, e.g., the ‘If’ portion, of the rule is true based on the facts ‘known’ to the expert system. If the predicate is true then the consequent, e.g., the ‘Then’ portion, of the rule is executed. Often the consequent asserts a new fact that can be ‘inferred’ from the predicate. For example, given the facts:                precipitating=true,        temperature=0        freezing=32and a rule:        if precipitating and temperature<freezing then snowing=truethen the inference engine may infer that it is snowing, and assert a new fact:        snowing=true.        
Typically, changing the facts known to the inference engine causes the inference engine to reprocess all of the rules. This can adversely impact performance of the expert system. To minimize any impact, rule authors must consider both the logic of the rules as well as the operational impact of the rules. A rule author may need to order the rules in the knowledge base to control the order in which rules are processed, e.g., so that rules with expensive computations or rules that have a low probability of being invoked are run last. A rule author may also need to segregate the rules into groups so that some rules are only activated when certain facts are known. In the example supra, different set of rules may be activated depending on whether the temperature is above or below freezing. The need to consider both the operational and logical implications of each rule increases the difficulty of creating a conventional expert system.
While expert systems can provide tremendous assistance to organizations by allowing a lay operator to make use of expert knowledge, such systems tend to be very expensive to build because of the difficulty in building the rule sets. Moreover, rule sets for conventional expert systems tend to be fragile. Because the rules impact both logical and operational aspects of the expert system, making changes to one rule may impact how and when many other rules are applied. Thus, a deep understanding of the entire rule base is needed before modifying the rules. This makes maintenance and enhancement of a typical expert system expensive and somewhat problematic. Because of the fragile nature of typical expert systems, a person using the expert system often ceases to be involved in decision making and, instead, merely becomes a technician that operates the expert system.
In view of the shortcomings of the prior art there exists a need for a process and system which can enable analytical, but non-technical, people to interact with an expert system at a level that provides a high level of analytical sophistication but that is abstracted from the technical details of the expert system. Further, there exists a need for a process and system that assists non-analytical people in performing in an analytically sophisticated manner. Further, there exists a need for a process and system which can move the use of business intelligence tools beyond the current group of sophisticated power users. Further there exists a need for a process and system which can assist non-analytical people with analysis-based decision-making support while not merely substituting the judgement of the business person with the judgment of an expert system. Further, there exists a need for a process and system which can operate as an intelligent advisor to assist a non-analytical person in performing his job according to best practices in the industry without requiring the person to become analytically sophisticated. Further, there exists a need to provide a simple, robust, inexpensive analytical tool for use by organizations with insufficient recourses to create custom made tools.